package models

import "time"

// 定义请求的参数结构体

// ParamSignUp 注册请求参数
type ParamSignUp struct {
	UserName   string `json:"username" binding:"required"`
	Password   string `json:"password" binding:"required"`
	RePassword string `json:"re_password" binding:"required,eqfield=Password"`
}

// ParamLogin 登录请求参数
type ParamLogin struct {
	UserName string `json:"username" binding:"required"`
	Password string `json:"password" binding:"required"`
}

// Product 商品结构体
type Product struct {
	ID          int64     `json:"id" db:"id"`
	ProductID   int64     `json:"product_id" db:"product_id"`
	ProductName string    `json:"product_name" db:"product_name"`
	Description string    `json:"description,omitempty" db:"description"`
	Price       float64   `json:"price" db:"price"`
	Stock       int       `json:"stock" db:"stock"`
	Category    string    `json:"category,omitempty" db:"category"`
	CreateTime  time.Time `json:"create_time" db:"create_time"`
	UpdateTime  time.Time `json:"update_time" db:"update_time"`
}

// Order 订单结构体
type Order struct {
	ID         int64     `json:"id" db:"id"`
	OrderID    int64     `json:"order_id" db:"order_id"`
	UserID     int64     `json:"user_id" db:"user_id"`
	ProductID  int64     `json:"product_id" db:"product_id"`
	Quantity   int       `json:"quantity" db:"quantity"`
	TotalPrice float64   `json:"total_price" db:"total_price"`
	OrderTime  time.Time `json:"order_time" db:"order_time"`
	Status     string    `json:"status,omitempty" db:"status"`
	CreateTime time.Time `json:"create_time" db:"create_time"`
	UpdateTime time.Time `json:"update_time" db:"update_time"`
}
